package jlist;

import javax.swing.*;
import java.awt.*;

/**
 * 1.创建列表框
 * JList<T> listBox = new JList<>()
 * 和JComboBox类似，T为数据项的类型
 */
public class JList01 {
    public static void main(String[] args) {
        JFrame jFrame = new JFrame("java-swing");
        jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        jFrame.setSize(400,300);

        JPanel jPanel = new JPanel();
        //创建列表框
        JList<String> stringJList = new JList<>();
        stringJList.setPreferredSize(new Dimension(100,300));

        //创建滚动条
        JScrollPane jScrollPane = new JScrollPane(stringJList);
//        JScrollPane jScrollPane1 = new JScrollPane(stringJList);



        //设置列表数据
        DefaultListModel<String> model = new DefaultListModel<>();
        model.addElement("1");
        model.addElement("2");
        model.addElement("3");
        model.addElement("4");
        model.addElement("5");
        model.addElement("6");
        model.addElement("7");
        model.addElement("8");
        stringJList.setModel(model);

        //设置选择模式->单项选择/多选模式（ctrl间隔多选，shift连续多选）
        stringJList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        stringJList.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);

        //添加进jPanel
        //将jScrollPane1添加进jPanel,stringJList添加到jScrollPane
        //这里有一个时间的先后顺序，下面一段代码要放到后面执行
        jPanel.add(jScrollPane);
        jFrame.setContentPane(jPanel);
        jFrame.setVisible(true);


    }
}
